home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Ham Radio
/
Ham Radio CD-ROM (Emerald Software) (1995).ISO
/
cw
/
morsec
/
cw.doc
< prev
next >
Wrap
Text File
|
1986-10-20
|
20KB
|
421 lines
CW is a Morse Code send/receive program designed to run on the IBM PC and
it's clones. The program expects to find the Color Graphics Adapter present.
It will not function correctly with a Mono board or the EGA. A split screen
format is used for the visual interface and on-line help is available to the
operator. On-line help is provided by the file HELP.CW. If that file is not
on the default drive, the program will still function, but without help.
The program is user configurable and creates a file which supports the
screen images for subsequent use. The user has the option of changing the
operating characteristics and input/output environment recognized by the pro-
gram. These may then be saved by CW in a file called INIT.CW, an ASCII file
which can be viewed/modified using a word processor. The default character-
istics provide for Morse Input and Output on communications port COM1 using
the RTS and CTS signal lines. If INIT.CW is not on the default disk then
the default values are assumed.
CW.COM is a user supported program which may be transferred and/or copied
as often as you like. No monetary fees (other than disk copying) may be
charged as a part of this service. The program is a product of
Dave Freese, W1HKJ
c/o Clermont Computer Consultants
29 N Ravenwood Drive
Cape May Court House, NJ 08210
(609) 624 0076
The program is written in TURBO (tm) PASCAL and demonstrates how well
that particular product allows full use of the PC's hardware. Despite the
disparaging reviews from some self proclaimed keepers of the PASCAL standard,
this program demonstrates the efficacy of TURBO Pascal.
It is not anticipated that the source code for this program will be
placed in the public domain.
Have fun with CW. If you enjoy using it as much as I enjoyed creating
it, you will have a ball. Happy DX and bcnu.
73's Dave W 1 H K J
INSTALLATION PROCEDURE
Create a bootable disk with CW.COM and HELP.CW installed in the root
directory. CW.COM is compatible with ancilliary programs such as SIDEKICK(tm)
and in fact is much enhanced when used in conjunction with that product.
When CW is run for the first time, the Logo, and Help screens are created
and stored in a new file called IMAGE.CW. This new file is used on subsequent
program executions to speed the screen graphic response time.
Press <F10> to review the HELP screen and then <SPACE> followed by <F7>
to enter the configuration procedures. CW is distributed with presets for
screen colors to suit the authors tastes. Colors may be altered, reviewed and
eventually stored in an initialization file called INIT.CW.
The internal tone generator is configured to ON by the default configur-
ation parameters. Try typing a few lines of text and observe the operation of
the type ahead keyboard buffer/display, the character transmit indication and
the morse code generated on the internal speaker.
PROGRAM TERMINATION
The <ctrl>C and <Break> keys are disabled by the program. The program is
exited by the use of the <alt><F10> keystroke combination. This allows a
graceful termination of any open files in use by the program.
MESSAGE BUFFERS
<F1> - Transmitting a Message Buffer
CW maintains 10 message buffers (0..9) which may be transmitted by press-
ing <F1># where # is 0..9 . The <F1># sequence may be pressed at any time
which automatically inserts the specified message buffer into the outgoing
character buffer.
<F2> - Modifying the Message Buffers
The contents of the ten message buffers may be observed and modified by
pressing <F2>. The ten message buffers are displayed on a full screen and
the operator prompted to enter a number (0..9) to modify a buffer, or <ESC>
to return to the split screen display. If a buffer is selected the buffer is
cleared and the cursor placed at the beginning of the buffer line. Up to 80
characters may be put in each buffer.
<alt><F1> - Loading the Message Buffers
The 10 message buffers may be loaded from disk. This is accomplished by
pressing <alt><F1>. The operator is prompted to enter a valid directory-tree
filename which will contain the desired message buffers. This file is an
ASCII file containing 10 lines of up to 80 characters per line. They may be
created using CW or a separate word processor program.
<alt><F2> - Saving the Message Buffers
The present message buffer contents may be assigned to a disk file of the
operators choice by pressing <alt><F2>. The operator is prompted to enter a
directory-tree filename for storage. Existing files will be overwritten by
this function.
ASCII TRANSMIT/RECEIVE FILES
<F3> - ASCII File Transmit Function
Any valid ASCII file may be transmitted by pressing <F3>. The operator
is prompted to enter the file name (directory modifiers are ok). If the file
is not found the operator is returned to the split screen display. If found,
transmission begins immediately with character display in the transmit window.
CR/LF and other non-Morse-characters are translated to a SPACE for the pur-
poses of generating a correct timing duration. Transmission may be altered
with the ^P or ^X keys, causing a pause of termination respectively. If this
key is accidently pressed, respond to the file name prompt with a <RETN>.
<alt><F3> - ASCII Receive File Save Function
The program maintains a receive buffer of 8192 bytes which acts as a
first-in/first-out wrap around memory. The operator may save the contents of
this buffer from its beginning up to the last character received. Pressing
the <alt><F3> function key will cause an operator prompt for a filename in
which to save the receive buffer. If this key is accidently pressed, respond
to the filename prompt with a <RETN>.
AUTOMATIC LOG MAINTENANCE
<F4> - Log Data Entry
CW maintains the file LOG.CW, an ASCII data file containing a log of QSO
activity. Data may be entered in the log by pressing <F4>. The operator is
prompted to enter the data for the log in the following sequence:
Default values may be obtained by pressing <RETN> alone. This is partic-
ularly useful for the TIME and DATE values which are the MS-DOS values corr-
ected to UTC. All other defaults are blank filled strings.
Each composite of log data forms a single line in the file LOG.CW which
may be subsequently altered with a word processor such as SideKick, Wordstar
or Brief.
<alt><F4> - Saving the LOG
The file LOG.CW may be updated manually by pressing the <alt><F4> function
key. Log entries made during normal operation will be automatically saved at
the end of the operating session, or when 100 QSO's have been logged, which-
ever comes first.
TRANSMIT/RECEIVE CHARACTER RATES
<F5> - Set Receive Code Speed = Transmit Code Speed
During CW reception the program maintains an estimate of the incoming
code speed. First order difference equations are used to filter and smoothly
track changes in the detected speed. During high noise bursts or for rapid
changes in received CW speed it may become necessary to reset the receive
tracking values. Use this function key to set the current Receive Tracking
Speed to equal the current Transmit Speed.
<alt><F5> - Set Transmit Code Speed = Receive Code Speed
During contests and other rapid CW exchanges it is considered good oper-
ating to transmit at the receive code speed. Pressing <alt><F5> will immed-
iately force the transmit code speed to the received code speed.
<F6> - Adjusting Transmit Code Speed
The transmitted code speed may be adjusted in 1 WPM increments. Pressing
<F6> causes an operator prompt for the new value on the status line. Entries
must be digits 0 ... 9, improper entries will be rejected and the prompt re-
issued.
<alt><F6> - Calibrating the Code Speed
The transmit and receive code speeds are dependent on timing loops used
in TURBO (tm) PASCAL. They are therefore sensitive to the clock rate of the
computer. CW can accomodate variations in clock frequencies. Accurate timing
does require a scope and an external 10 HZ signal generator. The signal gen-
erator may be a calibrated keyer.
To begin the calibration press <alt><F6> and select the transmit or re-
ceive procedure.
RECEIVE CALIBRATION - Apply a 10 Hz square wave of the proper amplitude
to the input port. The 10 Hz square wave is the dot rate equivalent of 25
WPM cw. Pressing the <u> and <d> keys will alter the displayed code speed in
0.1 WPM increments. Pressing <U> and <D> will alter displayed code speed in
1.0 WPM increments. Press <Q> when the calibration is complete.
TRANSMIT CALIBRATION - A nominal 10 Hz square is generated at the output
port. Adjust this signal for proper frequency by pressing the <u/U> and/or
<d/D> keys for the 10 Hz output. Press <Q> when the calibration is complete.
ALTERNATE CALIBRATE PROCEDURES - The program may be calibrated by 'ear'
and a watch with a sweep second hand. Proceed as follows:
<1> Clear the Screen,
<2> Select transmit code speed to be 25 WPM,
<3> Select <F3> (transmit file),
<4> Specify file name of PARIS -- do not press return.
<5> At the start of a timed minute press <RETN>
<6> At the end of the timed minute press ^X to stop transmission.
Count the number of words 'paris' on the screen. It should be 25.
If it is not the file INIT.CW can be modified in the Timing Duration
entry. The new entry can be calculated as:
new = old * #words / 25
That completes the transmit calibration. You now need to calibrate
an external keyer to 25 wpm. Some amount of simple hardware will be re-
quired, the purpose of which is to allow both the computer output and the
keyer to simultaneously key an external oscillator. The external keyer
speed is then adjusted for a zero beat note between the two keying
sources. Use this calibrated keyer as the input as described in the pri-
mary receive calibration procedure.
SOFTWARE/HARDWARE CONFIGURATION
<F7> - Modifying Configuration
The operator may modify the characteristics of the program with respect
to the transmit code weight, initialization values, internal tone, and screen
colors. Input/output port assignments and logical levels may be changed. The
designation of time zone for the purposes of timekeeping and logging is avail-
able.
TRANSMIT WEIGHTING - The operator may select transmit code weighting to
fit his or her individual requirements. A prompt for the following charac-
teristics is presented:
Dash/Dot (3.00) .....
Letter/Dot (3.00) ...
Word/Dot (7.00) .....
where the values in paranthesis are the present values. Pressing return at
any one of the three leaves the value unchanged. Here are some suggestions
for transmit weighting and its intended use.
Dash/Dot Letter/Dot Word/Dot Used for:
3.00 3.00 7.00 Standard code weighting
3.60 3.60 8.00 Moderately heavy code
good for QRN conditions
3.00 10.00 30.00 Practice at 1/2 WPM rate
3.00 17.00 51.00 Practice at 1/3 WPM rate
3.00 24.00 73.00 Practice at 1/4 WPM rate
SET INTERNAL TONE - The internal cw tones may be toggled ON/OFF and the
frequency of the tone modified. If the 'y' response is made to the prompt:
PC tone on? <Y/N>');
then the operator is requested to enter the desired tone:
Note frequency = 600 change to ....
Pressing <RETN> leaves the frequency unchanged.
SPECIFYING DEFAULT MESSAGE FILE - The operator may specify the start-up
messages which will be loaded on each execution of CW. The response to the
prompt:
Enter message file name.ext ...
should be an existing \directory\filename.ext string, where the directory is
optional.
SPECIFYING TIME ZONE - The program default for time zone is 0. That is,
you live in Greenwich, England. Since most of us are not so fortunate, and
good log keeping stipulates used UTC (GMT for us oldtimers), the operator can
specify his or her own time zone as:
Enter your time zone ...
If a non-zero time zone is entered, the program adjusts the date and time
for the on screen display and the log to accomodate the time zone. Proper
attention is also made to month and year rollover with the exception of leap
year. This is a subject of a future change to the program.
CONTROLLING HARDWARE INTERFACE - CW may be configured to access any port
within the 8088 port address space. The individual bit and its logical sense
can also be specified. The program default values are for the COM1 port and
uses the RTS, CTS signals for Transmit and Receive respectively. The operator
will be prompted:
Enter transmit port (tttt)...
transmit bit # (b).....
transmit logic (y) ....
receive port (rrrr)....
receive bit # (c)......
receive logic (z) .....
You must enter the port numbers in decimal, the bit number as 0..7, and the
logic level as 1 => active high; 0 => active low. This may take some exper-
imenting for your particular hardware. The author has configured a VISUAL
COMMUTER (IBM clone) and the MFJ 1224, RTTY/CW terminal unit to the LPT1
parallel port and a homebrew interface to the COM1 port. The homebrew design
is the subject of a forthcoming public domain release.
CHANGING RECEIVE FILTERING - The program is designed to track the charac-
ter rate of the incoming (received) morse code. Under ideal conditions, no
filtering is required at all, however, in the real world of QRN and QRM it is
an absolute necessity. The filtering is accomplished using the digital equiv-
alent of a low pass filter. Just as the response of a low pass RC filter can
be controlled by the resistor-capacitor product, the difference equation
coefficients can be modified to adjust it's response. The operator is prompt-
ed as follows:
Receive filter coefficient:
fast ... slow
<2> .. <8>
Enter ...
The default value is 5 which seems to work well with the author's Kenwood
599D receiver with an 800 Hz CW filter. A 200 Hz wide active audio filter is
also used along with a limiter/detector of the author's own design. This is
definitely an area for experimentation and user feedback. I simply cannot
afford to buy one of everything to test the programs utility.
SAVING CONFIGURATION PARAMETERS
<alt><F7> - Save Configuration Parameters
The operating characteristics of CW as determined by the configuration
parameters can be saved on the default disk. The program looks for this file
on initial execution and uses the values contained therein for its presets.
INIT.CW is an ASCII file created by CW when the <alt><F7> function key is
pressed. It may be observed/changed with any wordprocessor. A sample of the
INIT.CW file contents are:
Xmt_WPM ............ 18
Dash Dot Ratio ..... 3.0
Letter Dot Ratio ... 3.0
Word Dot Ratio ..... 7.0
PC monitor flag .... 1
Monitor note freq .. 600
Time Zone .......... 0
Initial msg file ...NIL
Timing Duration .... 900
Rx Coefficient .....5200
Xmt background ..... 7
Xmt foreground ..... 14
Rcv background ..... 3
Rcv foreground ..... 15
Status background .. 4
Status foreground .. 11
Prompt background .. 1
Prompt foreground .. 14
Aux background ..... 6
Aux foreground ..... 14
Help background .... 2
Help foreground .... 14
Transmit port ......1020
Transmit bit ....... 2
Transmit level ..... 1
Receive port .......1022
Receive bit ........ 16
Receive level ...... 1
Filter coefficient.. 5
The above values are the equivalent to the internal program configuration
defaults.
TUNING & OTHER STUFF
<F8> - Tune the Transmitter
Pressing the <F8> function key causes the transmitter to be held in the
key down condition. The key down condition is released when any other key is
pressed. I suggest the <SPACE> to prevent on the air burbles - hi.
<alt><F8> - Send V's
The character V is used as a standard "test" signal by most CW operators.
The <alt><F8> key causes a string of V's to be transmitted. Pressing any key
will terminate the sequence of V-s. The <SPACE> is also appropriate here.
<F9> - Clearing the Screen
The split screen display is cleared of all text, the colors reset, and
the status line refreshed when the <F9> function key is pressed.
<alt><F9> - Reset Receive Buffer Pointer
Clears the screen the same as <F9>, but additionally resets the receive
buffer to begin loading characters at the beginning. Useful for initializing
the buffer during incoming traffic or bulletins.
<F10> - H E L P !!!
On line help is available and obtained by pressing <F10>. A command
synopsis is displayed. Pressing any function-key or alt-function-key sequence
will display the appropriate portion of the HELP.CW file in a central screen
window. If the file HELP.CW is not on the default drive, no action is taken.